package com.woniuxy.microsysserver.configure;

import org.springframework.amqp.core.Binding;
import org.springframework.amqp.core.BindingBuilder;
import org.springframework.amqp.core.DirectExchange;
import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 定义一个配置类
 */
@Configuration
public class RabbitMQConfigure {

    @Bean
    public DirectExchange directExchange(){
        /*第一个参数：交换机名称;
         * 第二个参数：持久化支持;
         * 第三个参数：没有连接访问该交换机 ，不删除该交换机*/
        return new DirectExchange(
                "loginExchange",false,false);
    }

    /**
     * 定义注册队列
     * @return
     */
    @Bean
    public Queue emailQueue(){
        return new Queue("loginQueue",false);
    }

    /**
     * 绑定队列与交换机之间的关系
     * @return
     */
    @Bean
    public Binding bindingDirectExchange(){
        return BindingBuilder.bind(emailQueue()).to(directExchange()).with("login");
    }
}
